dyoshikawa/rulesync/.rulesync/skills/porting-another-repository/SKILL.md
porting-another-repository
Plan how to port a feature, configuration, or implementation from this repository into another repository. Analyzes the source feature here and the target repo's conventions, then writes a multi-file porting plan (overview, source analysis, target analysis, plan, diff) to tmp/porting-another-repository-{YYYYMMDD-HHmm}/*.md for the user to review and apply manually.
- Source repository stars
- 1,263
- Declared platforms
- 0
- Static risk flags
- 0
- Last source update
- 2026-07-28
- Source checked
- 2026-07-28
Decision brief
What it does—and where it fits
Compute a single timestamp once and reuse it for every file:
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/dyoshikawa/rulesync --skill ".rulesync/skills/porting-another-repository"Inspect the Agent Skill "porting-another-repository" from https://github.com/dyoshikawa/rulesync/blob/310b711fbe8cffc14debb276ade8a384c2b89083/.rulesync/skills/porting-another-repository/SKILL.md at commit 310b711fbe8cffc14debb276ade8a384c2b89083. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
Step 0: Prepare the Output Directory
Compute a single timestamp once and reuse it for every file:
Compute a single timestamp once and reuse it for every file:All artifacts in this run go under ${out}/. Do not recompute the timestamp per file — every file must share the same directory. - 02
Step 1: Analyze the Source (This Repository)
Understand exactly what is being ported. Prefer targeted symbol and search tools over reading whole files.
The entry points and the files that implement it.Its dependencies within this repo (shared utilities, base classes, types, config) that would also need to come along.Any build/test/tooling wiring it relies on (scripts, configs, fixtures, CI steps). - 03
Step 2: Analyze the Target Repository
Understand the target's conventions so the port fits in naturally.
If targetrepo is a local path, inspect it directly (grep/read).If it is owner/repo or a URL, use gh repo view, gh api repos//contents/, and the deepwiki MCP (mcpdeepwikiaskquestion, mcpdeepwikireadwikicontents) to learn its structure.Language, package manager, build/test tooling, and directory layout. - 04
Step 3: Produce the Porting Plan
Map source concepts onto the target. Use a small mapping table (source path/symbol → target path/symbol) — it is far easier to read than prose for this.
A step-by-step sequence of changes, ordered so the target stays buildable.Required dependency additions (with versions) and tooling/config changes.Adaptations needed to match the target's conventions (renames, refactors, API shape changes). - 05
Step 4: Produce Concrete Diffs
For each step in the plan, write the concrete code/config the user should add to the target, in fenced blocks labeled with their target file paths. Where an existing target file changes, show a unified-diff-style snippet. Keep these ready to copy-paste.
For each step in the plan, write the concrete code/config the user should add to the target, in fenced blocks labeled with their target file paths. Where an existing target file changes, show a unified-diff-style snippe…Write the result to ${out}/04-diff.md.
Permission review
Static risk signals and limitations
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 84/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 1,263 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- dyoshikawa/rulesync
- Skill path
- .rulesync/skills/porting-another-repository/SKILL.md
- Commit
- 310b711fbe8cffc14debb276ade8a384c2b89083
- License
- MIT
- Collected
- 2026-07-28
- Default branch
- main
View the original SKILL.md
arguments = the user's request
Parse arguments as:
target_repo: the repository to port INTO, inowner/repoform, a URL, or a local pathscope: what to port from THIS repository (a feature name, directory, file, or rough description)
If target_repo is not provided, ask the user which repository to port into.
If scope is not provided, ask the user what part of this repository they want to port.
The direction is fixed: the source is this repository, the target is target_repo. This skill never modifies the target repository directly — it only produces a porting plan on disk for the user to apply manually.
Step 0: Prepare the Output Directory
Compute a single timestamp once and reuse it for every file:
ts="$(date +%Y%m%d-%H%M)"
out="tmp/porting-another-repository-${ts}"
mkdir -p "${out}"
All artifacts in this run go under ${out}/. Do not recompute the timestamp per file — every file must share the same directory.
Step 1: Analyze the Source (This Repository)
Understand exactly what is being ported. Prefer targeted symbol and search tools over reading whole files.
Identify, for the requested scope:
- The entry points and the files that implement it.
- Its dependencies within this repo (shared utilities, base classes, types, config) that would also need to come along.
- Any build/test/tooling wiring it relies on (scripts, configs, fixtures, CI steps).
- External package dependencies it pulls in.
Write the result to ${out}/01-source-analysis.md.
Step 2: Analyze the Target Repository
Understand the target's conventions so the port fits in naturally.
- If
target_repois a local path, inspect it directly (grep/read). - If it is
owner/repoor a URL, usegh repo view,gh api repos/<owner/repo>/contents/<path>, and the deepwiki MCP (mcp__deepwiki__ask_question,mcp__deepwiki__read_wiki_contents) to learn its structure.
Capture:
- Language, package manager, build/test tooling, and directory layout.
- Where the equivalent of the source feature would live in the target's structure.
- Naming, style, and architectural conventions the port must follow.
- Existing functionality that overlaps or conflicts with what is being ported.
Write the result to ${out}/02-target-analysis.md.
Step 3: Produce the Porting Plan
Map source concepts onto the target. Use a small mapping table (source path/symbol → target path/symbol) — it is far easier to read than prose for this.
Cover:
- A step-by-step sequence of changes, ordered so the target stays buildable.
- Required dependency additions (with versions) and tooling/config changes.
- Adaptations needed to match the target's conventions (renames, refactors, API shape changes).
- Risks, open questions, and anything deliberately out of scope.
- A short test/verification plan for the target.
Write the result to ${out}/03-porting-plan.md.
Step 4: Produce Concrete Diffs
For each step in the plan, write the concrete code/config the user should add to the target, in fenced blocks labeled with their target file paths. Where an existing target file changes, show a unified-diff-style snippet. Keep these ready to copy-paste.
Write the result to ${out}/04-diff.md.
Step 5: Write the Overview and Report
Write ${out}/00-overview.md last, as the index for the run. It must contain:
- Source repo and
scope, target repo, and the timestamp. - A one-paragraph summary of what is being ported and the recommended approach.
- A links list to the other files (
01-source-analysis.md…04-diff.md) with a one-line description of each. - Top risks and open questions surfaced during the analysis.
Then report to the user:
- The absolute path of
${out}/. - A one-line summary of the port (what moves, where it lands).
- The top open questions the user needs to decide before applying the plan.
Alternatives
Compare before choosing
coreyhaines31/marketingskills
ab-testing
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program
coreyhaines31/marketingskills
churn-prevention
When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers o
event4u-app/agent-config
design-review
Use when the user says "review the design", "check the UI", or wants a comprehensive UI/UX review. Uses a 7-phase methodology covering interaction, responsiveness, accessibility, and more.
K-Dense-AI/scientific-agent-skills
dask
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.