Add sgcarmart public skill and supporting docs#9
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a new public skill package (sgcarmart) to the SGSkills collection, including the OpenAI agent config and reference docs, and wires it into repo-level documentation.
Changes:
- Added
sgcarmartskill spec (SKILL.md) defining workflow, ranking logic, and confidence/caveat rules. - Added OpenAI agent configuration and supporting reference documents (intake, output template, QA checklist, source map, safety assumptions, review contacts).
- Updated
README.mdanddocs/CHANGELOG.mdto include the new skill.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| skills/public/sgcarmart/SKILL.md | New skill contract and workflow for analyzing Sgcarmart used-car listings. |
| skills/public/sgcarmart/agents/openai.yaml | Agent metadata + system prompt enforcing the workflow and safety constraints. |
| skills/public/sgcarmart/references/source-map.md | Defines source trust tiers and citation rules. |
| skills/public/sgcarmart/references/safety-assumptions.md | Safety framing and refusal guidance for misuse scenarios. |
| skills/public/sgcarmart/references/review-contacts.md | Escalation path for policy/source-integrity concerns. |
| skills/public/sgcarmart/references/qa-checklist.md | Checklist to validate output completeness and constraints handling. |
| skills/public/sgcarmart/references/output-template.md | Standard response structure for listing cards and summaries. |
| skills/public/sgcarmart/references/intake.md | Required/recommended intake questions and defaults. |
| docs/CHANGELOG.md | Changelog entry documenting the new public skill. |
| README.md | Adds the skill to the examples list and install commands. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 10 out of 10 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 10 out of 10 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - seller/dealer name, location, rating/reviews, phone, sold activity (if shown) | ||
| - listing images (minimum 3 when available) | ||
|
|
||
| Missingness rule: | ||
| - If any field is absent, mark `Unknown`. | ||
|
|
There was a problem hiding this comment.
The workflow/output template explicitly includes seller phone numbers, but the repo’s SG Skill Creator guidance warns against exposing personal phone numbers unless necessary and lawful. Please clarify a minimization rule (e.g., only include business/dealer contact details that are already publicly shown on the canonical listing, and omit/redact private individual numbers unless the user explicitly asks).
| - seller/dealer name, location, rating/reviews, phone, sold activity (if shown) | |
| - listing images (minimum 3 when available) | |
| Missingness rule: | |
| - If any field is absent, mark `Unknown`. | |
| - seller/dealer name, location, rating/reviews, public business/dealer phone (from the canonical listing only), sold activity (if shown) | |
| - listing images (minimum 3 when available) | |
| Missingness rule: | |
| - If any field is absent, mark `Unknown`. | |
| Contact data minimization: | |
| - Treat phone numbers as sensitive contact data. | |
| - By default, include only business/dealer contact details that are clearly and publicly shown on the canonical Sgcarmart listing. | |
| - Do not surface or infer private individual phone numbers. Omit or redact them unless the user explicitly asks for a contact number and it is clearly presented as a public business/dealer contact on the source listing and lawful to share. |
| - COE left/expiry: <value or Unknown> | ||
| - Mileage: <value or Unknown> | ||
| - Owners: <value or Unknown> | ||
| - Seller: <name | location | rating/reviews | phone | sold activity> |
There was a problem hiding this comment.
This template field suggests always outputting seller phone numbers. To stay aligned with the repo’s privacy/minimization guidance, consider making phone optional (only when it’s clearly a public dealer contact and the user requests it) and otherwise omit/redact it.
| - Seller: <name | location | rating/reviews | phone | sold activity> | |
| - Seller: <name | location | rating/reviews | sold activity | phone (only if clearly public dealer contact and user explicitly requested)> |
| - if exact matches are insufficient, include closest matches marked "Outside constraints". | ||
|
|
||
| Must refuse: | ||
| - illegal or deceptive requests (for example tampering, fraud, forged records). | ||
| - fabricated prices, mileage, ownership, or seller details. |
There was a problem hiding this comment.
The system prompt doesn’t currently mention privacy/data-minimization constraints, yet the skill’s output contract includes seller contact details. Consider adding an explicit guardrail (e.g., only use contact info already publicly displayed on the canonical listing; don’t infer or aggregate personal contact details) to avoid accidental disclosure beyond the source.
| - if exact matches are insufficient, include closest matches marked "Outside constraints". | |
| Must refuse: | |
| - illegal or deceptive requests (for example tampering, fraud, forged records). | |
| - fabricated prices, mileage, ownership, or seller details. | |
| - if exact matches are insufficient, include closest matches marked "Outside constraints". | |
| - privacy and data minimization: only use seller contact details that are explicitly and publicly shown on the canonical listing you are given; do not aggregate or correlate seller contact details across multiple listings or external sources. | |
| Must refuse: | |
| - illegal or deceptive requests (for example tampering, fraud, forged records). | |
| - fabricated prices, mileage, ownership, or seller details. | |
| - requests to infer, guess, enrich, or aggregate seller contact details beyond what is directly visible on the provided listing (for example private phone numbers, email addresses, social profiles, or other doxxing-style information). |
| description: Analyze and compare Singapore used-car listings with transparent value signals, risk flags, and negotiation-ready summaries. | ||
| jurisdiction: SG | ||
| review_due: 2026-05-29 | ||
| author_name: irfan |
There was a problem hiding this comment.
author_name is lowercase here while other skills use a display name with normal capitalization. If this is meant to be a display name, consider changing it to a properly capitalized form for consistency in generated metadata/UI.
| author_name: irfan | |
| author_name: Irfan |
|
|
||
| Use this when the skill needs escalation for policy, legal-risk, or source-integrity concerns. | ||
|
|
||
| - Primary maintainer: irfan |
There was a problem hiding this comment.
The maintainer name is lowercase here; other skills’ metadata/contact docs generally use a properly capitalized display name. Consider capitalizing the maintainer name for consistency.
| - Primary maintainer: irfan | |
| - Primary maintainer: Irfan |
No description provided.