skills/design-ingest/SKILL.md
(Designer) Ingest sources into a structured package (manifest + summary + open questions) saved under docs/runs/<feature_id>/...
npx skillsauth add dvduongth/skills design-ingestInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Owner role: Designer
Primary agent: Designer Agent (Source Ingest)
Handoff: outputs -> design-doc
This skill is Discovery only. Its job is to classify and surface information — NOT to pre-format it into spec or design format. Do not write requirements, use cases, or acceptance criteria here. That is the job of design_doc.
Convert messy inputs (docs/links/notes/raw text) into an Ingest Package that gives design_doc everything it needs to make good decisions.
Use this skill when:
NNN-slug (e.g., 001-login)requirement-brief.md formatted for game features (mirrors §1 Feature context + §1 Success metrics + Dependencies + Open Questions of design-doc-template.md). Derived from ingest-summary — reformatting only, no new reasoning.memory/patterns.md exists, read active patterns relevant to source ingestion. Apply learnings proactively.memory/mistakes.md exists, read active mistakes relevant to ingestion. Avoid repeating them.memory/constitution.md exists, read the Game Context section (platform, player segments) to understand project defaults — use when generating requirement-brief.md.Output language: Vietnamese Create a run folder:
docs/runs/<feature_id>/<YYYYMMDD_HHMM>_step1_ingest/Write the following files:
source-manifest.mdUse this table format:
| Source ID | Type | Owner | Date | Reliability | Summary | |---|---|---|---|---|---| | SRC-01 | doc/link/note/text | ... | YYYY-MM-DD | high/med/low | ... |
Rules:
SRC-xx incrementallyingest-summary.mdHeader block (replaces separate input.md):
Feature ID: <NNN-slug>
Sources: <list or "see source-manifest.md">
Constraints: <if any, else "none">
Date: <YYYY-MM-DD>
Then use this structure:
design_doc must decide (NOT pre-decided here; e.g., "Needs decision: 4-player vs 2-player kick logic")notes.mdInclude:
/design_doc <feature_id> --ingest_run latestrequirement-brief.md (ONLY if --brief flag is passed)Generate a lightweight game feature brief derived from ingest-summary.md. This is a reformatting step — do not introduce new reasoning or decisions.
Structure mirrors design-doc-template.md §1:
# Requirement Brief — [Feature Name]
**Feature:** [Name]
**Game:** [Poker / Baccarat / Slots / Tiến Lên / Phỏm]
**Designer:** [Name or TBD]
**Date:** [YYYY-MM-DD]
**Version:** 1.0
**Status:** Draft
## Feature context
| Field | Value |
|-------|-------|
| Feature type | New / Improvement |
| Type tag | coregame / feature / event |
| Segment tags | all_users / free_users / new_users / pay_users / segment_1..6 |
| Primary goal | Retention / Monetization / Engagement / Social |
| Target KPI | [from ingest-summary] |
| Player segment | New / Mid / Whale / All |
| Entry point | [from ingest-summary] |
| Affected systems | Economy / Progression / Social / Matchmaking / None |
| Constraints | [from ingest-summary constraints] |
## Feature description
[2-3 sentences. Focus on WHAT and WHY, not HOW. Derived from ingest-summary Facts.]
**Core value proposition:** [1 sentence]
**User journey:** Player [action] → [experience] → [outcome]
## Scope
### In scope
- [Item]
### Out of scope (explicitly excluded)
- [Item]
## Success metrics
| Metric | Baseline | Target | Timeframe |
|--------|----------|--------|-----------|
| [from ingest] | | | |
## Dependencies
| Dependency | Type | Status |
|-----------|------|--------|
| [from ingest] | Blocker / Nice-to-have | Ready / In-progress / Not started |
## Open questions
| # | Question | Owner | Priority | Default if unresolved |
|---|---------|-------|----------|-----------------------|
| OQ-1 | [from ingest Open questions] | Designer / PM / Tech | P0 / P1 | [Fallback action] |
Rules:
Type tag and Segment tags must be populated — infer from sources or mark as UNCONFIRMED[TBD]--seeds flag is passed)If explicitly requested, generate:
requirements-seeds.mduse-cases-seeds.mdac-seeds.mdRules:
design_doc will do. Only use when sources are very rich and the user wants a head start.Run these before any LLM reasoning:
python tools/scaffold_run.py <feature_id> ingest
Creates the run folder + input.md. Note the printed path — write all output files there.python tools/next_id.py SRC <feature_id>
Note the returned SRC ID; start assigning source IDs from this number.--seeds flag was passedrequirement-brief.md generated unless --brief flag was passed--brief was passed: requirement-brief.md has Type tag and Segment tags populated (or marked UNCONFIRMED)docs/ pathsnotes.mddevelopment
Hiểu sâu bất kỳ codebase nào đã được GitNexus index — architecture, execution flows, symbol relationships, blast radius. Dùng khi hỏi về codebase architecture, symbol context, impact analysis, hoặc index status.
tools
Search GIF providers with CLI/TUI, download results, and extract stills/sheets.
documentation
Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]
tools
Gemini CLI for one-shot Q&A, summaries, and generation.